package com.xyoto.community.mapper.picture;

import com.xyoto.community.entity.picture.DynamicPicture;
import com.xyoto.community.po.DynamicPicturePO;
import io.swagger.annotations.ApiModel;

import java.util.List;

/**
 * 动态图片表mapper
 */
public interface DynamicPictureMapper {
    /**
     * 根据动态id查询所有动态的图片
     * @param dynamicId
     * @return
     */
    List<DynamicPicture> selectAllByDynamicId(Integer dynamicId);

    /**
     * 存储动态图片
     *
     * @param dp 动态图片对象
     *
     * @return c操作状态
     */
    Integer insertDynamicPicture(DynamicPicture dp);

    /**
     * 修改动态图片
     *
     * @param dp 动态图片对象
     *
     * @return 修改状态
     */
    Integer updateDynamicPicture(DynamicPicture dp);

    /**
     * 查询动态对应的图片路径
     *
     * @param id 动态id
     *
     * @return 图片路径
     */
    List<DynamicPicture> selectDynamicPictureById(Integer id);

    /**
     * 批量删除动态图片
     * @param idList
     * @return
     */
    Integer deleteDynamicPictureByIds(List<Integer> idList);

    /**
     * 根据动态集合查询图片信息
     * @param dynamicIds 动态id集合
     * @return 动态图片列表
     */
    List<DynamicPicturePO> getDynamicPictureList(List<Integer> dynamicIds);


    /**
     * 检查传递的参数是否为有效参数，防止恶意攻击
     * @param imgIds
     * @return
     */
    Integer checkUpdateImgCount(List<Integer> imgIds);

    /**
     * 根据动态id和图片数据id更新图片表中的信息
     * @param id
     * @param imgIds
     * @param tableName
     * @return
     */
    Integer updateBathPictureKeyId(String tableName, Integer id, List imgIds);

    /**
     * 根据图片id查询图片路径
     * @param pictureId
     * @return
     */
    String getDynamicPicturePathFromDB(Integer pictureId);

    /**
     * 根据动态id查询动态图片信息
     * @param dynamicId
     * @return
     */
    List<Integer> getDynamicPictureIdListFromDB(Integer dynamicId);
}
